// ------------- 🚀🚀 fill -------------

let buf1 = Buffer.alloc(6)
buf1.fill('123')
console.info(buf1) // <Buffer 31 32 33 31 32 33>
console.info(buf1.toString()) // 123123: 如果填不满,就把给定的数据反复去填充
// buf1.fill('123456789')
// console.info(buf1) // <Buffer 31 32 33 34 35 36>
// console.info(buf1.toString()) // 123456: 如果超过的话,就只写入前面的数据

let buf2 = Buffer.alloc(6)
// 第二个参数: 开始下标, 第三个参数: 结束下标(取不到)
buf2.fill('123', 1, 3) // 从下标1开始填充, 填充到 end-1的
console.info(buf2) // <Buffer 00 31 32 00 00 00>
console.info(buf2.toString()) // 12312

let buf3 = Buffer.alloc(6)
buf3.fill(123) // number
console.info(buf3) // <Buffer 7b 7b 7b 7b 7b 7b>
console.info(buf3.toString()) // {{{{{{

// ------------- 🚀🚀 write -------------
let br1 = Buffer.alloc(6)
br1.write('123')
console.info(br1) // <Buffer 31 32 33 00 00 00> // 没有重复的写
console.info(br1.toString()) // 123

let br2 = Buffer.alloc(6)
br2.write('123', 1, 4) // 第二个参数从哪个开始写入, 第三个参数表示写入的长度
console.info(br2) // <Buffer 00 31 32 33 00 00>
console.info(br2.toString()) // 123

// ------------- 🚀🚀 toString: 拉取内容,转换成我们习惯看到的编码格式 -------------
let bf1 = Buffer.from('荣光无限')
console.info(bf1) // <Buffer e8 8d a3 e5 85 89 e6 97 a0 e9 99 90>
console.info(bf1.toString()) // 荣光无限
console.info(bf1.toString('utf-8', 1)) // 第二个参数表示从哪个位置去截取 荣光无限
console.info(bf1.toString('utf-8', 3)) // 光无限
console.info(bf1.toString('utf-8', 3, 9)) // 光无 =>>>> 第三个参数表示截取到哪个

// ------------- 🚀🚀 slice -------------
let bf2 = Buffer.from('荣光无限')
let bf2_1 = bf2.slice() // 没有参数就是截取全部
console.info(bf2_1) // <Buffer e8 8d a3 e5 85 89 e6 97 a0 e9 99 90>
console.info(bf2_1.toString()) // 荣光无限
let bf2_2 = bf2.slice(3) // 从第三个开始截取
console.info(bf2_2.toString()) // 光无限
let bf2_3 = bf2.slice(3, 9) // 从第三个开始截取
console.info(bf2_3.toString()) // 光无
// 从后往前截取
let bf2_4 = bf2.slice(-3) // 从第三个开始截取
console.info(bf2_4.toString()) // 限

// ------------- 🚀🚀 indexOf -------------
let bf3 = Buffer.from('zce爱前端, 爱荣光无限, 爱生活,爱美食')
console.info(bf3) // <Buffer 7a 63 65 e7 88 b1 e5 89 8d e7 ab af 2c 20 e7 88 b1 e8 8d a3 e5 85 89 e6 97 a0 e9 99 90 2c 20 e7 88 b1 e7 94 9f e6 b4 bb 2c e7 88 b1 e7 be 8e e9 a3 9f>
console.info(bf3.toString()) // zce爱前端, 爱荣光无限, 爱生活,爱美食
console.info(bf3.indexOf('爱')) // 3
console.info(bf3.indexOf('爱', 4)) // 14
console.info(bf3.indexOf('爱DD', 4)) // -1

// ------------- 🚀🚀 copy -------------
let bc1 = Buffer.alloc(6)
let bc2 = Buffer.from('荣光')
bc2.copy(bc1) // bc2是Copy源, bc1是copy容器 => 将 bc2里的数据 copy 到 bc1里面
console.info(bc1.toString()) // 荣光
console.info(bc2.toString()) // 荣光

let bc3 = Buffer.alloc(6)
let bc4 = Buffer.from('荣光')
bc4.copy(bc3, 3, 3, 6) // 第一个3表示从容器buffer的哪个位置开始写入,  第二个3表示从元数据的位置执行读取操作, 6表示从元数据的哪个位置结束
console.info(bc3.toString()) // 光
console.info(bc4.toString()) // 荣光
